CGI(公共网关接口)定义了web服务器与外部内容生成程序之间交互的方法,通常是指CGI程序或者CGI脚本,它是在网站上实现动态页面的最简单和常用的方法。本文将对如何在Apache web服务器上建立CGI以及如何编写CGI程序进行介绍。
配置Apache以支持CGI
Apache支持cgi一般有两个步骤,1.用Options显式地允许CGI的执行. 2.用ExecCGI告诉服务器哪些文件是CGI文件
用Options显式地允许CGI的执行
可以在主配置文件中,使用Options指令显式地允许特定目录中CGI的执行:
告诉服务器哪些文件是CGI文件
为了允许用户目录中所有以cgi/pl结尾的文件作为CGI程序执行,你可以使用以下配置:
这样就开启了后缀为cgi/pl文件为cgi程序,若要添加比如python脚本,则可以在后面添加.py来开启.
若使用虚拟空间等,没有权限改httpd.conf文件,还可以通过改.htaccess文件来达到目的.
.htaccess文件
为了允许用户目录中所有以".cgi"结尾的文件作为CGI程序执行,你可以使用以下配置:
如果你想在用户目录中指定一个cgi-bin子目录,其中所有的文件都被当作CGI程序,你可以这样配置:
编写cgi程序
配置好后,重启httpd服务来载入新配置.下面,以C++语言cgi程序为例演示cgi程序的执行.
使用g++编译为可执行程序,后缀为.cgi,所有的cgi程序都要首先输出"content-type: text/html\r\n\r\n",来告诉服务器这是一个网页,后面的两个换行必不可少.
在浏览器中输入cgi路径,可以看到一个正常的网页.